package com.cs.beneficios.web.action;

import com.cs.beneficios.business.entity.CargueDAO;
import com.cs.beneficios.common.ConnectionFactory;
import com.cs.paoyer.administration.business.model.UserVO;
//import com.cs.paoyer.administration.exception.AdministrationUserException;
//import com.cs.paoyer.administration.util.AccessControl;
//import com.cs.paoyer.common.exception.CommonUserException;
//import com.cs.paoyer.common.exception.UserException;

import java.io.IOException;

import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
//import org.apache.struts.action.ActionMessage;
//import org.apache.struts.action.ActionMessages;

public class BorrarValidadosAction extends Action {
    /**This is the main action called from the Struts framework.
     * @param mapping The ActionMapping used to select this instance.
     * @param form The optional ActionForm bean for this request.
     * @param request The HTTP Request we are processing.
     * @param response The HTTP Response we are processing.
     */
    public ActionForward execute(ActionMapping mapping, ActionForm form, 
                                 HttpServletRequest request, 
                                 HttpServletResponse response) throws IOException, 
                                                                      ServletException {
       
        //ConnectionFactory cf = new ConnectionFactory("beneficios","beneficios");
		ConnectionFactory cf = new ConnectionFactory();
        String strcodeLoteCargue = request.getParameter("code");
        HttpSession session = request.getSession();
        UserVO user = (UserVO)session.getAttribute("userInfo");
        boolean permiso = false;
            
        try{
        
          int eliminar = 0;
          CargueDAO objcargueDAO = new CargueDAO(cf);
          permiso = objcargueDAO.ValidateDelete(user.getCode(), user.getName(), user.getUserGroupName(),strcodeLoteCargue);
          
          if(permiso){
            eliminar = objcargueDAO.DeleteCargue(strcodeLoteCargue);
            
            if(eliminar == 1){
                request.setAttribute("msg","Los beneficios otorgados fueron eliminados correctamente");
            }else{
                request.setAttribute("msg","No se pudieron eliminar los beneficios otorgados, puede que el cargue sea antiguo...");
            }
            
          } else {
                request.setAttribute("msg","No posee permisos para eliminar los registros validados");
          }
          
        }catch(SQLException e){
			System.err.println("/******** TDSUB - cwsub");
			e.printStackTrace();
			System.err.println("TDSSPE - cwsub ********/");
        }
        
        return mapping.findForward("success");
    }
}
